// C++ for the Windows Runtime v1.0.161012.5
// Copyright (c) 2016 Microsoft Corporation. All rights reserved.

#pragma once

#include "Windows.ApplicationModel.Appointments.DataProvider.1.h"

WINRT_EXPORT namespace winrt {

namespace ABI::Windows::Foundation {

#ifndef WINRT_GENERIC_5541d8a7_497c_5aa4_86fc_7713adbf2a2c
#define WINRT_GENERIC_5541d8a7_497c_5aa4_86fc_7713adbf2a2c
template <> struct __declspec(uuid("5541d8a7-497c-5aa4-86fc-7713adbf2a2c")) __declspec(novtable) IReference<Windows::Foundation::DateTime> : impl_IReference<Windows::Foundation::DateTime> {};
#endif


}

namespace ABI::Windows::Foundation::Collections {

#ifndef WINRT_GENERIC_fb9718a9_f059_52b0_a904_1a65e4281e40
#define WINRT_GENERIC_fb9718a9_f059_52b0_a904_1a65e4281e40
template <> struct __declspec(uuid("fb9718a9-f059-52b0-a904-1a65e4281e40")) __declspec(novtable) IIterable<Windows::ApplicationModel::Appointments::AppointmentInvitee> : impl_IIterable<Windows::ApplicationModel::Appointments::AppointmentInvitee> {};
#endif

#ifndef WINRT_GENERIC_2f13c006_a03a_5f69_b090_75a43e33423e
#define WINRT_GENERIC_2f13c006_a03a_5f69_b090_75a43e33423e
template <> struct __declspec(uuid("2f13c006-a03a-5f69-b090-75a43e33423e")) __declspec(novtable) IVectorView<hstring> : impl_IVectorView<hstring> {};
#endif


}

namespace ABI::Windows::Foundation {

#ifndef WINRT_GENERIC_37f52677_5f3a_57e6_82f5_cbab2e4dbe8e
#define WINRT_GENERIC_37f52677_5f3a_57e6_82f5_cbab2e4dbe8e
template <> struct __declspec(uuid("37f52677-5f3a-57e6-82f5-cbab2e4dbe8e")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequestEventArgs> {};
#endif

#ifndef WINRT_GENERIC_b45150b9_df09_5c86_b57d_3e6deff24767
#define WINRT_GENERIC_b45150b9_df09_5c86_b57d_3e6deff24767
template <> struct __declspec(uuid("b45150b9-df09-5c86-b57d-3e6deff24767")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs> {};
#endif

#ifndef WINRT_GENERIC_0e9cc1d8_0d26_5207_b7d9_9ad1bf66e1e6
#define WINRT_GENERIC_0e9cc1d8_0d26_5207_b7d9_9ad1bf66e1e6
template <> struct __declspec(uuid("0e9cc1d8-0d26-5207-b7d9-9ad1bf66e1e6")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequestEventArgs> {};
#endif

#ifndef WINRT_GENERIC_8961d738_ecdc_53c8_b0ec_e729d8109459
#define WINRT_GENERIC_8961d738_ecdc_53c8_b0ec_e729d8109459
template <> struct __declspec(uuid("8961d738-ecdc-53c8-b0ec-e729d8109459")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequestEventArgs> {};
#endif

#ifndef WINRT_GENERIC_4fe460a4_e875_5836_9eec_273d52c86ab3
#define WINRT_GENERIC_4fe460a4_e875_5836_9eec_273d52c86ab3
template <> struct __declspec(uuid("4fe460a4-e875-5836-9eec-273d52c86ab3")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs> {};
#endif

#ifndef WINRT_GENERIC_5370df2b_62cd_5133_93e6_fc80a502af64
#define WINRT_GENERIC_5370df2b_62cd_5133_93e6_fc80a502af64
template <> struct __declspec(uuid("5370df2b-62cd-5133-93e6-fc80a502af64")) __declspec(novtable) TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequestEventArgs> : impl_TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequestEventArgs> {};
#endif


}

namespace ABI::Windows::Foundation::Collections {

#ifndef WINRT_GENERIC_ba2f633a_5182_5eda_8e2e_a66e55b320ce
#define WINRT_GENERIC_ba2f633a_5182_5eda_8e2e_a66e55b320ce
template <> struct __declspec(uuid("ba2f633a-5182-5eda-8e2e-a66e55b320ce")) __declspec(novtable) IVectorView<Windows::ApplicationModel::Appointments::AppointmentInvitee> : impl_IVectorView<Windows::ApplicationModel::Appointments::AppointmentInvitee> {};
#endif

#ifndef WINRT_GENERIC_e2fcc7c1_3bfc_5a0b_b2b0_72e769d1cb7e
#define WINRT_GENERIC_e2fcc7c1_3bfc_5a0b_b2b0_72e769d1cb7e
template <> struct __declspec(uuid("e2fcc7c1-3bfc-5a0b-b2b0-72e769d1cb7e")) __declspec(novtable) IIterable<hstring> : impl_IIterable<hstring> {};
#endif

#ifndef WINRT_GENERIC_57e35198_1b41_54da_adaf_50ef1e93fded
#define WINRT_GENERIC_57e35198_1b41_54da_adaf_50ef1e93fded
template <> struct __declspec(uuid("57e35198-1b41-54da-adaf-50ef1e93fded")) __declspec(novtable) IIterator<Windows::ApplicationModel::Appointments::AppointmentInvitee> : impl_IIterator<Windows::ApplicationModel::Appointments::AppointmentInvitee> {};
#endif

#ifndef WINRT_GENERIC_8c304ebb_6615_50a4_8829_879ecd443236
#define WINRT_GENERIC_8c304ebb_6615_50a4_8829_879ecd443236
template <> struct __declspec(uuid("8c304ebb-6615-50a4-8829-879ecd443236")) __declspec(novtable) IIterator<hstring> : impl_IIterator<hstring> {};
#endif


}

namespace Windows::ApplicationModel::Appointments::DataProvider {

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarCancelMeetingRequest
{
    hstring AppointmentCalendarLocalId() const;
    hstring AppointmentLocalId() const;
    Windows::Foundation::IReference<Windows::Foundation::DateTime> AppointmentOriginalStartTime() const;
    hstring Subject() const;
    hstring Comment() const;
    bool NotifyInvitees() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync() const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarCancelMeetingRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest
{
    hstring AppointmentCalendarLocalId() const;
    Windows::ApplicationModel::Appointments::Appointment Appointment() const;
    bool NotifyInvitees() const;
    Windows::Foundation::Collections::IVectorView<hstring> ChangedProperties() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync(const Windows::ApplicationModel::Appointments::Appointment & createdOrUpdatedAppointment) const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarForwardMeetingRequest
{
    hstring AppointmentCalendarLocalId() const;
    hstring AppointmentLocalId() const;
    Windows::Foundation::IReference<Windows::Foundation::DateTime> AppointmentOriginalStartTime() const;
    Windows::Foundation::Collections::IVectorView<Windows::ApplicationModel::Appointments::AppointmentInvitee> Invitees() const;
    hstring Subject() const;
    hstring ForwardHeader() const;
    hstring Comment() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync() const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarForwardMeetingRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarProposeNewTimeForMeetingRequest
{
    hstring AppointmentCalendarLocalId() const;
    hstring AppointmentLocalId() const;
    Windows::Foundation::IReference<Windows::Foundation::DateTime> AppointmentOriginalStartTime() const;
    Windows::Foundation::DateTime NewStartTime() const;
    Windows::Foundation::TimeSpan NewDuration() const;
    hstring Subject() const;
    hstring Comment() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync() const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarSyncManagerSyncRequest
{
    hstring AppointmentCalendarLocalId() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync() const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarSyncManagerSyncRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarUpdateMeetingResponseRequest
{
    hstring AppointmentCalendarLocalId() const;
    hstring AppointmentLocalId() const;
    Windows::Foundation::IReference<Windows::Foundation::DateTime> AppointmentOriginalStartTime() const;
    Windows::ApplicationModel::Appointments::AppointmentParticipantResponse Response() const;
    hstring Subject() const;
    hstring Comment() const;
    bool SendUpdate() const;
    Windows::Foundation::IAsyncAction ReportCompletedAsync() const;
    Windows::Foundation::IAsyncAction ReportFailedAsync() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentCalendarUpdateMeetingResponseRequestEventArgs
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequest Request() const;
    Windows::Foundation::Deferral GetDeferral() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentDataProviderConnection
{
    event_token SyncRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequestEventArgs> & handler) const;
    using SyncRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    SyncRequested_revoker SyncRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequestEventArgs> & handler) const;
    void SyncRequested(event_token token) const;
    event_token CreateOrUpdateAppointmentRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs> & handler) const;
    using CreateOrUpdateAppointmentRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    CreateOrUpdateAppointmentRequested_revoker CreateOrUpdateAppointmentRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs> & handler) const;
    void CreateOrUpdateAppointmentRequested(event_token token) const;
    event_token CancelMeetingRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequestEventArgs> & handler) const;
    using CancelMeetingRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    CancelMeetingRequested_revoker CancelMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequestEventArgs> & handler) const;
    void CancelMeetingRequested(event_token token) const;
    event_token ForwardMeetingRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequestEventArgs> & handler) const;
    using ForwardMeetingRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    ForwardMeetingRequested_revoker ForwardMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequestEventArgs> & handler) const;
    void ForwardMeetingRequested(event_token token) const;
    event_token ProposeNewTimeForMeetingRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs> & handler) const;
    using ProposeNewTimeForMeetingRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    ProposeNewTimeForMeetingRequested_revoker ProposeNewTimeForMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs> & handler) const;
    void ProposeNewTimeForMeetingRequested(event_token token) const;
    event_token UpdateMeetingResponseRequested(const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequestEventArgs> & handler) const;
    using UpdateMeetingResponseRequested_revoker = event_revoker<IAppointmentDataProviderConnection>;
    UpdateMeetingResponseRequested_revoker UpdateMeetingResponseRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler<Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection, Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequestEventArgs> & handler) const;
    void UpdateMeetingResponseRequested(event_token token) const;
    void Start() const;
};

template <typename D>
struct WINRT_EBO impl_IAppointmentDataProviderTriggerDetails
{
    Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection Connection() const;
};

struct IAppointmentCalendarCancelMeetingRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarCancelMeetingRequest>
{
    IAppointmentCalendarCancelMeetingRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarCancelMeetingRequest>(m_ptr); }
};

struct IAppointmentCalendarCancelMeetingRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarCancelMeetingRequestEventArgs>
{
    IAppointmentCalendarCancelMeetingRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarCancelMeetingRequestEventArgs>(m_ptr); }
};

struct IAppointmentCalendarCreateOrUpdateAppointmentRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarCreateOrUpdateAppointmentRequest>
{
    IAppointmentCalendarCreateOrUpdateAppointmentRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarCreateOrUpdateAppointmentRequest>(m_ptr); }
};

struct IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs>
{
    IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs>(m_ptr); }
};

struct IAppointmentCalendarForwardMeetingRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarForwardMeetingRequest>
{
    IAppointmentCalendarForwardMeetingRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarForwardMeetingRequest>(m_ptr); }
};

struct IAppointmentCalendarForwardMeetingRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarForwardMeetingRequestEventArgs>
{
    IAppointmentCalendarForwardMeetingRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarForwardMeetingRequestEventArgs>(m_ptr); }
};

struct IAppointmentCalendarProposeNewTimeForMeetingRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarProposeNewTimeForMeetingRequest>
{
    IAppointmentCalendarProposeNewTimeForMeetingRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarProposeNewTimeForMeetingRequest>(m_ptr); }
};

struct IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs>
{
    IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs>(m_ptr); }
};

struct IAppointmentCalendarSyncManagerSyncRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarSyncManagerSyncRequest>
{
    IAppointmentCalendarSyncManagerSyncRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarSyncManagerSyncRequest>(m_ptr); }
};

struct IAppointmentCalendarSyncManagerSyncRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarSyncManagerSyncRequestEventArgs>
{
    IAppointmentCalendarSyncManagerSyncRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarSyncManagerSyncRequestEventArgs>(m_ptr); }
};

struct IAppointmentCalendarUpdateMeetingResponseRequest :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarUpdateMeetingResponseRequest>
{
    IAppointmentCalendarUpdateMeetingResponseRequest(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarUpdateMeetingResponseRequest>(m_ptr); }
};

struct IAppointmentCalendarUpdateMeetingResponseRequestEventArgs :
    Windows::IInspectable,
    impl::consume<IAppointmentCalendarUpdateMeetingResponseRequestEventArgs>
{
    IAppointmentCalendarUpdateMeetingResponseRequestEventArgs(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentCalendarUpdateMeetingResponseRequestEventArgs>(m_ptr); }
};

struct IAppointmentDataProviderConnection :
    Windows::IInspectable,
    impl::consume<IAppointmentDataProviderConnection>
{
    IAppointmentDataProviderConnection(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentDataProviderConnection>(m_ptr); }
};

struct IAppointmentDataProviderTriggerDetails :
    Windows::IInspectable,
    impl::consume<IAppointmentDataProviderTriggerDetails>
{
    IAppointmentDataProviderTriggerDetails(std::nullptr_t = nullptr) noexcept {}
    auto operator->() const noexcept { return ptr<IAppointmentDataProviderTriggerDetails>(m_ptr); }
};

}

}
